const mongoose = require('mongoose')

const order = new mongoose.Schema({
    houseType: {
        type: mongoose.SchemaTypes.ObjectId,
        ref: 'houseTypeRecord'
    },
    users: [
        {
            type: mongoose.SchemaTypes.ObjectId,
            ref: 'customer'
        }
    ],
    orderType: { // 订单状态
        type: Number,
        default: 1     // 1. 进行中 2. 已完成
    },
    startTime: { // 开始时间
        type: Date,
        required: true
    },
    endTime: { // 结束时间
        type: Date
    },
    leaveTime: { // 最终离店时间
        type: Date
    },
    houseData: { // 房间编号
        type: String
    },
    payType: {
        type: Number,
        default: 1 // 1. 现金支付 2. 支付宝支付 3. 微信支付 4. 银联支付
    },
    transitionAmount: { // 用户实付金额
        type: Number,
    },
    computedAmount: { // 应付金额
        type: Number
    },
    getAmount: { // 实际收入金额
        type: Number
    },
    other: {  // 其他消费，默认为0
        type: String,
        default: 0
    },
    otherRemark: { // 其他消费的备注
        type: String,
        default: ''
    },
    others: [ // 其他消费的id数组
        {
            type: mongoose.SchemaTypes.ObjectId,
            ref: 'otherConsume'
        }
    ],
    othersNum: [{ // 其他消费的数量
        type: Number
    }]
}, {versionKey: false, timestamps: {createdAt: 'create_time', updatedAt: 'update_time'}})

order.set('toJSON', { virtuals: true });
order.set('toObject', { virtuals: true })
module.exports = mongoose.model('order', order);
